In    -
Out   FindTask
Type  Utility

.findtask
   STMFD   (sp)!,{r0-r5,link}            ; Stack registers
   MOV     r0,#0
.loop
   ADR     r1,block
   MOV     r2,#16
   SWI     "TaskManager_EnumerateTasks"
   CMN     r0,#1
   BEQ     exit
   ADR     r2,checkwith
   LDR     r1,block+4
.loop2
   LDRB    r3,[r1],#1
   LDRB    r4,[r2],#1
   CMP     r3,#32
   MOVLT   r3,#0
   CMP     r4,#32
   MOVLT   r4,#0
   CMP     r3,r4
   BNE     notfound
   CMP     r3,#0
   BNE     loop2
   LDR     r0,block
   REM     "Handle = %&0"
   LDMFD   (sp)!,{r0-r5,pc}              ; Return from call

.notfound
   B       loop
.exit
   REM     "Not found"
   LDMFD   (sp)!,{r0-r5,pc}              ; Return from call

.block
   RES     32
.checkwith
   EQUZ    "Zap"

#Post
#Run <CODE>
